#ifndef __MESSSTATE
#define __MESSSTATE

#include "Message/MessagePump.h"
#include <stdlib.h>


enum FSM
{
	FSM_STATE_NONE,  //0
	FSM_STATE_WALK,//1
	FSM_STATE_SIT,//2
	FSM_STATE_PICKUP,//3
	FSM_STATE_READYFIGHT,//4
	FSM_STATE_ATTACK,//5
	FSM_STATE_WTF,//6
	FSM_STATE_HURT,//7
	FSM_STATE_DIE,//8
	FSM_STATE_WTF2,//9
	FSM_STATE_ATTACK2,//10
	FSM_STATE_ATTACK3,//11
	FSM_STATE_ATTACK4//12
};


class LivingEntity;

class State
{
public:
    //constructor/functions
    State(int type = FSM_STATE_NONE,LivingEntity* pOwner = NULL)
        {m_type = type;m_owner = pOwner;}
    virtual void Enter()            {}
    virtual void Exit()             {}
    virtual void Update(float dt)   {}
    virtual void Initialize()             {}

    //data
    LivingEntity*   m_owner;
    int        m_type;

};
#endif